/**  
* Title: UserHelper.java 
* Description:  
* Copyright: Copyright (c) 2017  
* Company: www.baidudu.com 
* @author xuchang  
* @date 2018年7月30日  
* @version 1.0  
*/  
package com.bclz.util;


import org.apache.commons.lang3.StringUtils;
import org.slf4j.LoggerFactory;

import com.bclz.bo.PostBo;
import com.bclz.common.response.ResponseData;
import com.bclz.common.response.ResponseUtils;
import com.bclz.entity.Comment;
import com.bclz.entity.User;

import ch.qos.logback.classic.Logger;


/**
 * 
* Title: EntityHelper  
* Description:   验证转义工具
* @author xuchang  
* @date 2018年8月9日
 */
public class EntityHelper {
	
	private static Logger log=(Logger)LoggerFactory.getLogger(EntityHelper.class);
	
	/**
	 * 
	 * Title: validate 
	 * Description: 用户验证  以及去转义字符
	 * @param u
	 * @return
	 */
	public static ResponseData validateUser(User u) {
		
		if(StringUtils.isBlank(u.getOpenid())) {
			return ResponseUtils.fail("用户id为空", null);
		}
		if(StringUtils.isBlank(u.getName())) {
			return ResponseUtils.fail("名称为空", null);
		}
		try {
			return ResponseUtils.success("", EntityUtil.escape(u));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			log.error("验证用户错误,泛型转换异常:{}",e.getMessage());
			return ResponseUtils.fail("验证用户错误,服务器异常", null);
		} 
	}
	
	/**
	 * 
	 * Title: validatePost 
	 * Description: 帖子验证  
	 * @param p
	 * @return
	 */
	public static ResponseData validatePost(PostBo p) {
		
		if(StringUtils.isBlank(p.getContent())) {
			return ResponseUtils.fail("内容为空", null);
		}
		if(StringUtils.isBlank(p.getTitle())) {
			return ResponseUtils.fail("标题为空", null);
		}
		if(p.getCategoryId()==null) {
			return ResponseUtils.fail("类别为空", null);
		}
		if(p.getTags()==null||p.getTags().length()<1) {
			return ResponseUtils.fail("标签为空", null);
		}
		if(StringUtils.isBlank(p.getUserId())) {
			return ResponseUtils.fail("用户id为空", null);
		}
		if(p.getStatus()==null) {
			return ResponseUtils.fail("状态为空", null);
		}
		try {
			return ResponseUtils.success("", EntityUtil.escape(p));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			log.error("验证帖子错误,泛型转换异常:{}",e.getMessage());
			return ResponseUtils.fail("验证帖子错误,服务器异常", null);
		} 
	}
	
	/**
	 * 
	 * Title: validateComment 
	 * Description: 评论验证  
	 * @param co
	 * @return
	 */
	public static ResponseData validateComment(Comment co) {
		
		if(StringUtils.isBlank(co.getContent())) {
			return ResponseUtils.fail("内容为空", null);
		}
		if(StringUtils.isBlank(co.getPostId())) {
			return ResponseUtils.fail("主体为空", null);
		}
		if(StringUtils.isBlank(co.getUserId())) {
			return ResponseUtils.fail("评论人为空", null);
		}
		try {
			return ResponseUtils.success("", EntityUtil.escape(co));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			log.error("验证评论错误,泛型转换异常:{}",e.getMessage());
			return ResponseUtils.fail("验证评论内容错误,服务器异常", null);
		} 
	}
	
	
	
}
